#include "fraction.h"

/** \class complex_n
*	\brief Class representing complexes
*
*	Disclaimer: There obviously is a class representing complexes in C++, but there was a need to implement own version, due to representing the real and imagine parts as fractions. Just deal with that.
*/

class complex_n
{
    public:
    fraction *re; /**< Real part of complex (represented by fraction) */
    fraction *im; /**< Imagine part of complex (represented by fraction) */

/*! \brief complex_n constructor.
 */
    complex_n(const fraction &re/** <Constans reference to fraction, that will became the real part of complex */,const fraction &im=0/** <Constans reference to fraction, that will became the imagine part of complex */);
/*! \brief complex_n constructor.
 */
	complex_n();
/*! \brief complex_n destructor
*/
	~complex_n();
/*! \brief Print complex
*/
    void print();
/*! \brief Get conjugation of a complex
*/
	complex_n conjugation();
/*! \brief Get module of a complex
*/
	double module();
/** \brief Add complexes.
*/
    complex_n operator+(complex_n a);
/** \brief Substract complexes.
*/
    complex_n operator-(complex_n a);
/** \brief Multiply complexes.
*/
    complex_n operator*(complex_n a);
/** \brief Divide complexes.
*/
    complex_n operator/(complex_n a);
};
